An abstract
data type (ADT) is characterized
by the following properties:
n1. It exports a type.
n2. It exports a set of operations. This set is called interface.
n3. Operations of the interface are the one and only access mechanism to the type's data structure.
n4. Axioms and
preconditions define the application domain
of the type.